#ifndef __LING_MMZONE_H__
#define __LING_MMZONE_H__

#include "config.h"
#include "list.h"

struct free_area{
    struct list_head    free_list; //空闲块的双向链表
    unsigned long       nf_free;      //空闲块数目  
};


struct zone
{
    unsigned long		free_pages;
    //该区域的起始物理页号 Page Frame Number ==> 可以确定起始的物理地址
    unsigned long       zone_start_pfn;   
    //正常情况下下面三个的pages都等于该区域的物理页面数量
    unsigned long		managed_pages;      //由buddy管理的物理页面数量

    struct page		*zone_mem_map;
    struct free_area    free_ares[CONFIG_BUDDY_MAX_ORDER];
};



#endif
